package com.kaifamiao.strings;

public class StringTest6 {

	public static void main(String[] args) {

		// 当遇到 "abc" 时会首先尝试从 字符串常量池 中获取相应的对象，
		// 如果在 字符串常量池 中找到 "abc" 对应的String对象则直接将该对象返回。
		// 如果在 字符串常量池 中未找到 "abc" 对应的String对象，
		// 则创建与之对应的 String对象 并将添加到 字符串常量池
		String s = "abc";
		String x = "abc";
		System.out.println( s == x ); // true
		System.out.println( System.identityHashCode(s) );
		System.out.println( System.identityHashCode(x) );

		// 当遇到 "abc" 时会首先尝试从 字符串常量池 中获取相应的对象....
		// this.value = original.value;
        // this.coder = original.coder;
        // this.hash = original.hash;
		String p = new String( "abc" );
		System.out.println( s == p ); // false
		System.out.println( System.identityHashCode(s) );
		System.out.println( System.identityHashCode(p) );
		
		System.out.println( "- - - ".repeat( 10 ) );
		
		StringHelper.set( s ,  0 ,  (byte)'A' );
		
		System.out.println( s );
		System.out.println( p ); 

	}

}
